package com.store.satring.dos;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.springframework.format.annotation.DateTimeFormat;

public class ItemReport {

    private List<Invoice> invoices = new ArrayList<Invoice>();

    @Temporal(TemporalType.TIMESTAMP)
    @DateTimeFormat(style = "M-")
    private Date invoiceDateFrom;

    @Temporal(TemporalType.TIMESTAMP)
    @DateTimeFormat(style = "M-")
    private Date invoiceDateTo;

    private List<Customer> customers = new ArrayList<Customer>();

    private List<ItemType> itemTypes = new ArrayList<ItemType>();

    private List<Item> items = new ArrayList<Item>();

    private Boolean showOnlyStoreInventory;

	public String toString() {
        return ReflectionToStringBuilder.toString(this, ToStringStyle.SHORT_PREFIX_STYLE);
    }
	public Date getInvoiceDateFrom() {
        return this.invoiceDateFrom;
    }

	public void setInvoiceDateFrom(Date invoiceDateFrom) {
        this.invoiceDateFrom = invoiceDateFrom;
    }

	public Date getInvoiceDateTo() {
        return this.invoiceDateTo;
    }

	public void setInvoiceDateTo(Date invoiceDateTo) {
        this.invoiceDateTo = invoiceDateTo;
    }
	public List<ItemType> getItemTypes() {
        return this.itemTypes;
    }

	public void setItemTypes(List<ItemType> itemTypes) {
        this.itemTypes = itemTypes;
    }

	public List<Item> getItems() {
        return this.items;
    }

	public void setItems(List<Item> items) {
        this.items = items;
    }

	public Boolean getShowOnlyStoreInventory() {
        return this.showOnlyStoreInventory;
    }

	public void setShowOnlyStoreInventory(Boolean showOnlyStoreInventory) {
        this.showOnlyStoreInventory = showOnlyStoreInventory;
    }
	public List<Invoice> getInvoices() {
		return invoices;
	}
	public void setInvoices(List<Invoice> invoices) {
		this.invoices = invoices;
	}
	public List<Customer> getCustomers() {
		return customers;
	}
	public void setCustomers(List<Customer> customers) {
		this.customers = customers;
	}
	
	
}
